import java.util.*;
public class Main {
    /*给你一个整数数组 nums 和一个整数 k 。
    每一步操作中，你需要从数组中选出和为 k 的两个整数，并将它们移出数组。
    返回你可以对数组执行的最大操作数。*/
    public static int check(int[] nums,int k){
        int count=0;
        Map<Integer,Integer> map=new HashMap<>();
        //记录每个数的频率
        for(int num:nums){
            int temp=k-num;
            if(map.getOrDefault(temp,0)>0){
                //补数-1
                count++;
                map.put(temp,map.getOrDefault(temp,0)-1);

            }
            else map.put(num,map.getOrDefault(num,0)+1);
        }
        return count;
    }
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       int n=sc.nextInt();
       int[] nums=new int[n];
       for(int i=0;i<n;i++){
           nums[i]=sc.nextInt();
       }
       int k=sc.nextInt();
       int operate=check(nums,k);
       System.out.println(operate);
    }
}